a = {}
n = int(input())
l = [*map(int, input().split())]
for i in l:
    # 统计每个数出现的次数，get(i, 0)的意思是找不到就设默认值0
    a[i] = a.get(i, 0) + 1
mx1, mx2 = 0, 0
for k, v in a.items():
    if v > mx2: # 遍历字典，如果出现次数大于当前最大次数
        mx1 = k # 就更新数字和最大出现次数
        mx2 = v
    elif v == mx2 and k > mx1: # 如果出现次数相等且数字更大
        mx1 = k # 就更新数字
# 注意不要出现出现次数3时，更新了最大值为10，然后出现次数为5的数是2
# 却忘了把最大值更新为2的情况。
# 以上情况只要出现次数大的时候，一定把出现次数和数字都更新了就可以避免了！
print(mx1, mx2)
# -------------------------------------------------------------------------------

# 比赛环境为python3.8.6版本自带的IDLE，最好早点熟悉一下。。这个东西的提示时有时无

# 菜单栏最右边的Help的Python Docs 比赛时候也可以看，不过建议还是提前多了解了解，

# 比赛的时候至少知道在文档找什么能用的上。

# IDLE是下载Python时自带的，在按住win+s搜索IDLE就能搜到了。

# 然后点左上角的File可以创建新文件，然后按F5可以运行。
